package 剑指offer;

public class p65不用加减乘除做加法 {
    public int add(int a, int b) {
        int sum1=0; //只计算 不进位结果
        int sum2=0; //只计算 只进位结果
        do {
            sum1=a^b;//异或 得到 a b 相加不进位的结果
            sum2=(a&b)<<1;//按位与再左移 得到 a b 相加只进位的结果(相加要进一位，给前面那位+1，相加不进位当前位0)
            a=sum1;
            b=sum2;

        }while (sum2!=0);

        return sum1;
    }
}
